<!DOCTYPE html>
<html lang="en">
<head>
	<meta charset="UTF-8">
	<title>Document</title>
</head>
<body>
	<script>
		//第一个参数为数组，第二个参数为限制数组中元素出现的最多次数，要求不改变原数组的排序
		//deleteNth
		let arr=[1,1,1,2,2,6,8,7,1,6,7,7,7,7,7,7,7,7,6,6,6,6,6,6,6,26,1,727,8,3,2,2,2,2,6,7,7,8,7,7,7,7,7,1,1,1,1]//原数据
		function deleteNth(arr,n){
			let newArr=[];//种类数组
			let lastArr=[];//处理后的数据
			for(let i=0;i<arr.length;i++){//提取原数据不重复的项，即“种类”
				if (newArr.indexOf(arr[i])<0) {
					newArr.push(arr[i]);
				}
			}
			let controlArr=newArr.map(item=>{//生成管理表、类似库的数组，且初始化数量为0。
				return{name:item,num:0}//存储每一项的name,num初始化为0
			})

			for(let i=0;i<arr.length;i++){
				for(let j=0;j<controlArr.length;j++){
					if (controlArr[j].name==arr[i]&&controlArr[j].num<n) {//检测"库"中同名项的num是否已满足n
						lastArr.push(arr[i]);//尚未饱和则新数组可以按顺添加，如该项数已饱和则跳过到arr中下一项
						controlArr[j].num++;//添加项以后，对"库"的记录数量要做调整
					}
				}
			}
			return lastArr
		}
		console.log(deleteNth(arr,3))

	</script>
</body>
</html>